本期为【安天攻防演练专题】系列的第七期,将分享安天下一代 WAF 防护系统的 WEB 在线实时主动防御能力,支撑用户在攻防演练期间有效抵御未知的 Web 攻击、提高防护效率。
Web 应用防火墙( Web Application Firewall,简称:WAF )通常部署于 Web 网站前端,为目标网站提供在线实时的安全防护。WAF 对网站的 HTTP 流量进行解析,基于解析结果进行深度 Web 攻击扫描,检查流量数据中是否包含 XSS、SQL 注入、已知漏洞等相关 Web 攻击特征,对触发安全策略的流量进行实时的告警和阻断。
图1 Web应用防火墙作用示意
WAF 在攻防演练中是一款不可或缺的 Web 安全防护设备,是保护 Web 服务器最重要的一道安全门。安天下一代 WAF 防护系统以积极防御为安全理念,一改传统 WAF 以特征匹配为中心的设计思路,从用户自身的网站安全出发,通过对网站关键业务、数据进行动态变形、封装,结合网站代码反调试保护和客户端环境实时主动探测技术,以我为主对网站进行主动防护,能帮助用户在演练期间化被动为主动。安天下一代 WAF 防护系统的四大产品价值,可有效支撑用户摆脱传统 WAF 在攻防演练中被动挨打的局面。
高速特征关键字预匹配技术保证在超大流量下实现对特征的全面检测;特征关联匹配技术提供强大的特征描述能力,支持对复杂行为特征进行定义;完善的 Web 递归解码引擎,有效应对攻防演练中的各种攻击检测规避技术。产品从上传文件、RFI(Remote File Inclusion)攻击防护、WebShell 指纹检测、基于访问授权的 WebShell 检测等多个环节全方位检测 WebShell ,可有效防止网站在演练期间遭受挂马攻击。通过 API 传输的数据类型通常为 JSON 或 XML 格式。产品针对该格式数据进行专门的解析,并基于解析的结果对数据格式与元素进行规范性检查和攻击特征检查。确保攻防演练过程中网站对外的 API 服务安全。从近年攻防演练趋势来看,攻击方越来越多地通过攻击客户端来间接完成最终对目标网站的渗透。客户端浏览器安全功能通过插入相关浏览器安全属性对客户端进行安全加固,弥补用户网络安全环境短板,将 WAF 的安全防护能力延展到 Web 客户端,从而提升用户 Web 应用链的整体安全性。产品允许用户关联多种 HTTP 元素和变量来定义具有复杂逻辑的复合安全策略,应对演练期间不同场景下的安全需求,有效避免产品的定制开发。具体的产品支持的元素和变量包括 URL、参数、HTTP 头部字段、请求资源类型、HTTP 返回码、来源 IP、客户端地理位置、用户名、时间范围、触发频度等。网页防篡改功能能够锁定被保护的网站页面,即使发生目标网站页面被攻击者篡改情况,依然能向用户提供正常的页面服务。网页防篡改在攻防演练中能够起到亡羊补牢的作用,最大限度消除网站漏洞带来的负面影响。产品提供 IP 黑名单、Geo 访问控制、URL 访问控制、Host 访问控制等多种 HTTP 访问控制方式。在演练中能对攻击来源进行高效的封堵。同时对外提供 RESTFul API 接口,实现与其它安全类产品的联查、联防。
02价值二:自学习快速创建安全策略、防御 0Day 攻击
自学习功能能够自动分析、学习目标网站的流量,如网站拓扑结构、参数详细信息、常用 HTTP 方法以及特征误报等。通过自学习,产品可以快速地生成拟合目标网站的最佳配置,极大地缩短了演练前期 WAF 部署、调试的周期,并大大提高了配置定义的准确度,规避了人工创建安全策略存在的弊端。
自学习通过关联“特征检测”可以在演练期间帮助用户自动处理误报,将用户从繁杂的误报处理工作中解放出来,着重应对、处理更为关键的安全问题。自学习经过对网站流量分析与统计,能够学习业务参数的相关细节,并为业务参数创建基于白名单的规范策略。这种白名单机制的参数规范策略可以有效地应对 0Day 攻击,阻断带有不符合预期参数规范的 HTTP 请求,使得攻击者无法通过构造参数的内容来利用 0Day 漏洞。
针对近年来攻防演练中不断增多的 AI 和自动化相关工具的使用,产品从用户业务安全加固、关键资源防护、业务代码保护、客户端环境主动探测及验证等多个维度提供综合的自动化攻击防护解决方案。产品可以对用户业务的各个环节进行安全加固,如注册、登录、查询、下单等业务环节,有效地防范攻击者利用自动化工具进行虚假业务交易、薅羊毛、账号撞库等活动。通过对用户业务的安全加固增加了自动化工具的攻击难度和成本,使得自动化工具无法简单、直接地攻击用户的业务,攻击者无法直接控制和构造业务参数和访问令牌。产品通过对用户业务 URL 进行加密、添加一次性访问 Token、HTML 链接元素动态变形等技术对用户的关键业务资源提供专门的防护,有效防止用户业务资源被数据爬虫窃取。产品通过在网站回应的页面中插入环境探测脚本,对页面最终运行的客户端环境进行采样、探测,搜集客户端环境的各种参数和用户事件,如浏览器版本、客户端类型、用户的键盘、鼠标事件等,综合评判客户端是否是真实的浏览器环境。产品具有机器人被动探测机制,通过在服务器回应的页面中插入机器人诱饵,诱使机器人访问,检测恶意机器人客户端。产品具有用户代码反调试防护能力,通过在用户的代码中插入反调试干扰指令,使得攻击方无法对被保护的代码进行跟踪、调试。这种方式在演练期间增加了攻击方的攻击成本,保护网站的代码逻辑不被攻击方所破解。产品提供脚本挑战和验证码的人机验证方式。对于普通的自动化工具,由于其不是真实的浏览器,无法成功运行产品的挑战脚本,无法通过验证。这种脚本挑战方式优点在于其过程对于终端用户完全透明,不会影响用户体验。对于使用浏览器引擎(无头浏览器)开发的高级自动化工具,通过验证码方式可以对其进行识别。该方式的优点在于即使安全策略出现误报,只要用户在输入正确的验证码后依然能正常访问网站业务。
用户业务安全防护功能能够抵御攻防演练中针对用户业务层面的攻击。监控网站用户的登录过程,对用户身份进行识别,将业务流量映射到具体的用户。在用户识别的基础上,进一步跟踪用户的业务操作。对于用户触发的所有安全策略告警,产品都能对应到具体的用户,这种能力使得产品具备从用户业务的视角对安全事件进行调查、回溯。产品通过对用户认证相关信息进行加密与重放保护,防止攻击者对用户认证相关信息进行篡改、窃取与重放,保证用户认证信息的安全存储与使用。当网站存在业务漏洞时,攻击者可能利用该漏洞提升自身权限或访问未授权的网站资源。产品密切监控业务用户的权限状态,实时检测用户权限状态的异常变化,及时阻断异常授权的访问。基于产品的用户身份识别和跟踪能力,实现从用户业务层面进行访问控制,支持禁止某一用户对特定业务的访问控制。#下期预告#
下期为【安天攻防演练专题】系列的第八期,将分享在攻防演练期间如何帮助 WEB 业务系统拥有“威胁自免疫”能力,同时与传统 WEB 网站安全防护产品协作,有效实现“双重防护”。